<!DOCTYPE html>
<html lang="en">
    <head>
        <!--字符解析编码-->
        <meta charset="UTF-8" />
        <!--媒体识别：自动适配移动端-->
        <meta name="viewport" content="width=device-width,initial-scale=1.0">
        <!--样式表-->
        <style rel="stylesheet" type="text/css">
            /*去除正文body的内外间距：全屏化*/
            body{margin:0;padding:0;}
            /*地图加载容器的大小：全屏化*/
            #container{
                width: 100%;
                height: 100vh;  /*响应式高度：100%*/
            }
        </style>
    </head>
    <body>

        <!--容器：用于呈现地图-->
        <div id="container"></div>

        <!--设置全局变量：挂载到当前window窗口对象下-->
        <script type="text/javascript">
            //将密钥设置到全局：后面很多代码都需要的
            //高德地图脚本中，会自动调用的
            window._AMapSecurityConfig = {
                securityJsCode: '68093d6d6abe52f04080887d29742dca'
            }
        </script>

        <!--加载官方地图脚本：请附加申请的key-->
        <script
          src="https://webapi.amap.com/maps?v=2.0&key=3c75e8bcdc97778dcd61dd04d54962b9"
          type="text/javascript"></script>

        <!--自定义脚本-->
        <script type="text/javascript">

            //默认值执行：
            // -创建一个地图对象，进行初始化，绑定页面容器
            // -创建时会解决地图问题，这里要保存实例，后续要操作的
            var map = new AMap.Map(
                'container',                       //加载地图的容器对象
                {
                    zoom: 25,                      //初始化地图的缩放比例
                    center: [121.474815,31.237216] //初始化中心点[经度,纬度]
                }
            )

            //当页面加载完毕
            window.onload = function(){
                //问鸿蒙应用要经纬度，通过js代理注入
                //默认通过原型操作，写入window对象中的
                window.swift.setCurrentLocation()
            }

            //定位：提供鸿蒙端调用，
            function setLocation(lng, lat) {
                //设置中心点
                map.setZoomAndCenter(40, [lng,lat])

                //设置中心点标记
                var marker = new AMap.Marker({
                    map,
                    icon: 'https://webapi.amap.com/theme/v1.3/markers/n/mark_b.png',
                    position: [lng,lat]
                })
                //加入到地图中
                map.add(marker)

                //为地图新增插件：搜索
                map.plugin(['AMap.PlaceSearch'], function(){
                    //创建搜索功能对象，提供搜索设置
                    var MSearch = new AMap.PlaceSearch({
                        map,                //绑定的地图
                        pageSize: 4,        //每页多少条
                        pageIndex: 1,       //第几页：由近到远
                        extensions: 'base'  //扩展：基本
                    })
                    //为地图设置监听：当搜索结果完成时
                    AMap.Event.addListener(MSearch, 'complete', (res)=>{
                        //调用鸿蒙方法，将地址列表回传
                        window.swift.receiveNearPlace(JSON.stringify(res.poiList.pois))
                    })
                    //执行搜索：会自动标记
                    MSearch.searchNearBy('停车场', [lng,lat])
                })
            }
        </script>
    </body>
</html>

